package hee;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class J18SimpleDateFormat {

	public static void main(String[] args) {
		
    //DateFormat
	//Date 클래스나 Calendar 클래스로
	//날짜와 시간을 출력하는 것은많은 비용이 필요
	//적은 비용으로 간편하게 날짜/시간을 출력하려면
	//DateFormat을 사용하자!
	//단, 자주 사용하는 출력형태를 4가지로 분류
		
	//날짜 : getDateInstance 사용
	Date now=new Date();
	DateFormat df=DateFormat.getDateInstance(DateFormat.FULL);
	System.out.println(df.format(now));     //2014년 4월 3일 목요일
	
	df=DateFormat.getDateInstance(DateFormat.LONG);  //2014년 4월 3일 (목)
	System.out.println(df.format(now));
	
	df=DateFormat.getDateInstance(DateFormat.MEDIUM);
	System.out.println(df.format(now));
	
	df=DateFormat.getDateInstance(DateFormat.SHORT);
	System.out.println(df.format(now));
	System.out.println();
	
   	//시간 : getTimeInstance 사용
	df=DateFormat.getTimeInstance(DateFormat.FULL);
	System.out.println(df.format(now));     //2014년 4월 3일 목요일
	
	df=DateFormat.getTimeInstance(DateFormat.LONG);  //2014년 4월 3일 (목)
	System.out.println(df.format(now));
	
	df=DateFormat.getTimeInstance(DateFormat.MEDIUM);
	System.out.println(df.format(now));
	
	df=DateFormat.getTimeInstance(DateFormat.SHORT);
	System.out.println(df.format(now));
	System.out.println();
	
	//SimpleDateFormat
	//DateFormat 이 지원하는 출력형태 말고
	//다양하게 날짜와 시간을 출력하기 위해 사용
	//y :    (연도)를 표시하는 패턴 (yy,yyyy)
	//M : 현재 (월) 을 표시하는 패턴(M=MM)
	//d : 현재 (일) 을 표시하는 패턴 (d=dd) 
	//E : 현제 (요일)을 표시하는 패턴 (E)
	//D : 현재 연도를 기준으로 (총 일수)를 표시(DDD)
	
	//h : 현제 시간을 출력(h,hh)
	//m : 현제 분을 출력(m,mm)
	//s : 현제 초를 출력(s,ss)
	//a : 현제의 오전,오후 출력(a)
	
//	날짜 출력 : 년,월,일 = "YYYY년 MM월 dd일 
//	String fmt="yyyy-MM-dd";
//	fmt="YYYY년 MM월 dd일 E요일";   //출력 : 2014년 04월 03일 목요일
//	SimpleDateFormat sdf=new SimpleDateFormat(fmt);
//	System.out.println(sdf.format(now));
	
	//요일, 오전, 시,분,초 = E a h:mm:ss
	String fmt="yyyy-MM-dd E a h:mm:ss"; //출력 : 2014-04-03 목 오후 4:37:59
	//fmt="YYYY년 MM월 dd일 E요일";   //2014년 04월 03일 목요일
	SimpleDateFormat sdf=new SimpleDateFormat(fmt);
	System.out.println(sdf.format(now));
	
	
	
	
	}//main

}//class
